Використання вказівників для роботи з масивами даних

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут телекомунікацій, радіоелектроніки та електронної техніки
Факультет:
Не вказано
Кафедра:
Кафедра теоретичної радіотехніки та радіовимірювань

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт
Предмет:
Інформатика та обчислювальна техніка
Група:
РТ-11

Частина тексту файла

Міністерство освіти та науки України Національний університет «Львівська політехніка» Інститут телекомунікацій, радіоелектроніки та електронної техніки Кафедра теоретичної радіотехніки та радіовимірювань Звіт з лабораторної роботи №9 Тема «Використання вказівників для роботи з масивами даних» з дисципліни «Інформатика та обчислювальна техніка» Мета роботи: Освоїти способи звертання до елементів масивів за допомогою вказівників. Навчитись виділяти та використовувати динамічну пам’ять для розміщення масивів даних. Варіант 5 Постановка задачі. Написати програму, яка здійснює обробку масиву згідно заданого варіанту. В програмі використати динамічне виділення пам’яті для масиву. Всі операції з елементами масиву здійснювати тільки за допомогою вказівників. Масив ввести з клавіатури. Програма повинна видавати підказку користувачу про те який елемент вводити. Завдання Написати програму, яка знаходить мінімальний та максимальний елементи двовимірного масиву. Короткі теоретичні відомості Вказівник – це змінна, яка містить адресу деякого об’єкту. Перед використанням вказівник потрібно оголосити. Формат оголошення вказівника: тип_змінної *ім’я_вказівника де тип_змінної – визначає тип тієї змінної на яку вказує вказівник Наприклад, char *p_rt, int *len, float *prt. Щоб використати вказівник його необхідно ініціалізувати – присвоїти йому значення адреси змінної на яку він вказує. Використовувати неініціалізовані вказівники не можна, бо це призводить до помилок в програмі, які важко виявити. Формат ініціалізації вказівника: ім’я_вказівника=&ім’я_змінної Наприклад, p_rt=&name, len=&count, prt=&f1. Операція взяття адреси - & вказує на те, що вказівнику присвоюється не значення змінної, а її адреса. Інкрементація чи декрементація вказівника приводить до переходу до наступного чи попереднього елементу масиву. В мові С існує однозначний зв’язок між вказівниками та масивами: ім’я масиву без квадратних дужок є вказівником на перший елемент масиву. Наприклад, якщо оголошено масив data[25], то data – це адреса першого елемента масиву. Таким чином щоб отримати адресу першого елементу масиву можна записати data або &data[0], щоб отримати адресу другого елементу - (data+1) або &data[1], третього - (data+2) або &data[2]. Щоб присвоїти значення першому елементу масиву можна записати *(data)=4 або data[0]=4, другому елементу - *(data+1)=8 або data[1]=8, третьому - *(data+2)=45 або data[2]=45. У випадку двовимірного масиву присвоєння значення елементу, який знаходиться на перетині k-го рядка та n-го стовпця здійснюється наступним чином: *(*(matr+k)+n)=91 або matr[k][n]=91. Бібліотека С містить функції для розподілу пам’яті безпосередньо в ході виконання програми. Такий розподіл називається динамічним розподілом пам’яті. Для використання функцій динамічного керування пам’яттю до програми необхідно підключити файли- заголовки stdlib.h або alloc.h. Найчастіше використовуються наступні функції malloc(), calloc(), free(). Функція malloc() виділяє в пам’яті блок з n байт і повертає вказівник на перший байт цього блоку. Наприклад, pd=malloc(sizeof(int)) – повертає вказівнику рd адресу блоку пам’яті для одного цілого числа, rt1=malloc(40*sizeof(float)) - повертає вказівнику rt1 адресу першого байту блоку пам’яті для сорока дійсних чисел. Функція calloc() виділяє пам’ять для групи об’єктів і повертає вказівник з адресою на перший байт виділеного блоку. Наприклад, name=calloc(120, sizeof(char)) повертає вказівнику name адресу першого байту блоку пам’яті для 120 об’єктів символьного типу. Функція free() призначена для звільнення динамічно розподіленої пам’яті. Звільнена пам’ять може знову використовуватись . Наприклад, free(rt1) звільняє блок пам’яті, який було виділено для 40 цілийх чисел. Щоб застосувати динамічний розподіл пам’яті для роботи з маси...
Антиботан аватар за замовчуванням

09.11.2011 00:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини